home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
misc
/
AmiPalmDev.lha
/
gcc-amigaos-host.diff
< prev
Wrap
Text File
|
2000-04-04
|
9KB
|
256 lines
diff -c -p -r1.1.1.1 -r1.2
*** config.sub 1999/08/29 00:59:05 1.1.1.1
--- config.sub 1999/09/01 11:48:53 1.2
*************** case $basic_machine in
*** 277,286 ****
os=-sysv
;;
amiga | amiga-*)
! basic_machine=m68k-cbm
;;
amigaos | amigados)
! basic_machine=m68k-cbm
os=-amigaos
;;
amigaunix | amix)
--- 277,286 ----
os=-sysv
;;
amiga | amiga-*)
! basic_machine=m68k-unknown
;;
amigaos | amigados)
! basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
diff -N x-amigaos
*** gcc/config/m68k/x-amigaos Tue May 5 13:32:27 1998
--- gcc/config/m68k/x-amigaos Sat Sep 4 11:20:56 1999
***************
*** 0 ****
--- 1,77 ----
+ # Makefile fragment for AmigaOS host
+
+ # Uncomment the following macro to get a resident GCC. We don't do it
+ # by default, since we want to support users with mc68000.
+ # WARNING! If you uncomment this, you MUST add the same flags to the
+ # libiberty's Makefile (libiberty is now linked into GCC executables).
+
+ #RESIDENT = -m68020 -resident32
+
+ # Additional host flags that are not used when compiling with GCC_FOR_TARGET,
+ # such as when compiling the libgcc* runtime archives. GCC uses stack
+ # a lot, and since AmigaOS provides processes with a small, fixed size
+ # stack, we have to generate code that will extend it whenever necessary.
+
+ XCFLAGS = -mstackextend $(RESIDENT)
+
+ # AmigaOS supports "AmigaGuide(R)" hypertext files. For GCC, these are
+ # build with a custom "makeinfo".
+
+ ### begin-GG-local: gcc-amigaos
+ EXTRA_DOC_TARGETS = guide gcc-amigaos-doc
+ ### end-GG-local
+
+ # Arrange for guides to be build with GCC, in the build directory.
+
+ ALL = all.internal doc
+
+ # Actually build guides
+
+ guide: cpp.guide gcc.guide
+
+ cpp.guide: cpp.texi
+ $(MAKEINFO) -I$(srcdir) $(srcdir)/cpp.texi --output=$@ --amiga
+
+ gcc.guide: gcc.texi extend.texi install.texi invoke.texi \
+ md.texi rtl.texi tm.texi
+ $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc.texi --output=$@ --amiga
+
+ # Arrange for guides to be installed with GCC.
+
+ ### begin-GG-local: gcc-amigaos
+ INSTALL_TARGET=install-normal install-guide install-gcc-amigaos-doc
+ ### end-GG-local
+
+ # Where the guide files go
+
+ guidedir = $(prefix)/guide
+
+ # Actually install guides.
+
+ install-guide: doc installdirs
+ -if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
+ -rm -f $(guidedir)/cpp.guide $(guidedir)/gcc.guide
+ for f in cpp.guide gcc.guide; \
+ do $(INSTALL_DATA) $$f $(guidedir)/$$f; done
+ -chmod a-x $(guidedir)/cpp.guide $(guidedir)/gcc.guide
+
+ ### begin-GG-local: gcc-amigaos
+ # Build and install gcc-amigaos.guide - documentation specific to the
+ # AmigaOS port of GCC.
+
+ gcc-amigaos-doc: gcc-amigaos.info gcc-amigaos.guide
+
+ gcc-amigaos.info: gcc-amigaos.texi
+ $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@
+
+ gcc-amigaos.guide: gcc-amigaos.texi
+ $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@ --amiga
+
+ install-gcc-amigaos-doc: doc installdirs
+ -if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
+ -rm -f $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
+ for f in gcc-amigaos.info*; \
+ do $(INSTALL_DATA) $$f $(infodir)/$$f; done
+ $(INSTALL_DATA) gcc-amigaos.guide $(guidedir)
+ -chmod a-x $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
+ ### end-GG-local
Index: gcc/config/m68k/xm-amigaos.h
===================================================================
RCS file: xm-amigaos.h
diff -N xm-amigaos.h
*** gcc/config/m68k/xm-amigaos.h Tue May 5 13:32:27 1998
--- gcc/config/m68k/xm-amigaos.h Sat Sep 4 11:20:56 1999
***************
*** 0 ****
--- 1,98 ----
+ /* Configuration for GNU C-compiler for m68k Amiga, running AmigaOS.
+ Copyright (C) 1992, 93-96, 1997 Free Software Foundation, Inc.
+ Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ /* First include the generic header, then modify some parts. */
+
+ #include "m68k/xm-m68k.h"
+
+ #ifndef _FCNTL_H_
+ #include <fcntl.h>
+ #endif
+
+ /* Define various things that the AmigaOS host has. */
+
+ #define HAVE_ATEXIT
+ #define HAVE_RENAME
+
+ /* AmigaOS specific headers, such as from the Native Developer Update kits,
+ go in SYSTEM_INCLUDE_DIR. STANDARD_INCLUDE_DIR is the equivalent of
+ Unix "/usr/include". All other include paths are set in Makefile. */
+
+ #define SYSTEM_INCLUDE_DIR "/gg/os-include"
+ #define STANDARD_INCLUDE_DIR "/gg/include"
+
+ #define STANDARD_EXEC_PREFIX_1 "/gg/lib/gcc/"
+ #define STANDARD_STARTFILE_PREFIX_1 "/gg/lib/"
+ #define STANDARD_STARTFILE_PREFIX_2 "/gg/lib/"
+
+ /* The AmigaOS stores file names with regard to upper/lower case, but actions
+ on existing files are case independent on the standard filesystems.
+
+ A good example of where this causes problems is the conflict between the C
+ include file <string.h> and the C++ include file <String.h>, where the C++
+ include file dir is searched first and thus causes includes of <string.h>
+ to include <String.h> instead.
+
+ In order to solve this problem we define the macro OPEN_CASE_SENSITIVE as
+ the name of the function that takes the same args as open() and does case
+ dependent opens. */
+
+ #define OPEN_CASE_SENSITIVE(NAME, FLAGS, MODE) open ((NAME), (FLAGS) | O_CASE, (MODE))
+
+ /* On the AmigaOS, there are two pathname separators, '/' (DIR_SEPARATOR)
+ and ':' (VOL_SEPARATOR). DIR_SEPARATOR defaults to the correct
+ character, so we don't have to explicitly set it. */
+
+ #define DIR_SEPARATOR '/'
+ #define VOL_SEPARATOR ':'
+ #define DIR_SEPARATOR_2 VOL_SEPARATOR
+
+ /* Determine whether a '\0'-terminated file name is absolute or not.
+
+ This checks for both, '/' as the first character, since we're running under
+ ixemul.library which provides for this unix'ism, and for the usual
+ logical-terminator, ':', somewhere in the filename. */
+
+ #define FILE_NAME_ABSOLUTE_P(NAME) ((NAME)[0] == '/' || index ((NAME), ':'))
+
+ /* Like the above, but the file name is not '\0'-terminated. */
+
+ #define FILE_NAME_ABSOLUTE_N_P(NAME, LEN) amigaos_file_name_absolute_n ((NAME), (LEN))
+
+ /* Return the file name part of the path name. */
+
+ #define FILE_NAME_NONDIRECTORY(NAME) \
+ (rindex ((NAME), '/') ? rindex ((NAME), '/') + 1 \
+ : (rindex ((NAME), ':') ? rindex ((NAME), ':') + 1 \
+ : (NAME)))
+
+ /* Generate the name of the cross reference file. */
+
+ #define XREF_FILE_NAME(BUFF, NAME) \
+ do \
+ { \
+ char *filesrc, *filedst; \
+ strcpy ((BUFF), (NAME)); \
+ filesrc = FILE_NAME_NONDIRECTORY (NAME); \
+ filedst = (BUFF) + (filesrc - (NAME)); \
+ sprintf (filedst, ".%s.gxref", filesrc); \
+ } \
+ while (0)
diff -c -p -r1.1.1.1 -r1.2
*** gcc/toplev.c 1999/08/29 00:59:17 1.1.1.1
--- gcc/toplev.c 1999/09/01 11:49:00 1.2
*************** main (argc, argv)
*** 5440,5446 ****
compile_file (filename);
! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX)
if (flag_print_mem)
{
char *lim = (char *) sbrk (0);
--- 5451,5457 ----
compile_file (filename);
! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX) && !defined (__amigaos__) && !defined (__BEOS__)
if (flag_print_mem)
{
char *lim = (char *) sbrk (0);
*** gcc/configure~ Sun Mar 19 11:37:57 2000
--- gcc/configure Sun Mar 19 16:24:33 2000
***************
*** 4440,4445 ****
--- 4440,4453 ----
extra_headers=math-68881.h
float_format=m68k
;;
+ m68k-*-amigaos*)
+ xm_file=m68k/xm-amigaos.h
+ tm_file=m68k/amigaos.h
+ tmake_file=m68k/t-amigaos
+ xmake_file=m68k/x-amigaos
+ extra_objs=amigaos.o
+ gnu_ld=yes
+ ;;
m88k-dg-dgux*)
case $machine in